// pages/myCard/myCard.js
const memberService = require('../../api/memberService.js')
const couponService = require('../../api/couponService.js')
const wxbarcode = require('../../utils/self.js');
const auth = require('../../utils/auth.js')

Page({

  /**
   * 页面的初始数据
   */
  data: {
    userInfo: "", // 用户信息，头像，昵称，手机号等
    couponCount: 0,
    storedValue: 0,
    score: 0
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var userInfo = auth.getUser();
    console.log(userInfo)
    if (userInfo) {
      this.setData({
        userInfo: userInfo
      })
      wxbarcode.barcode('barcode', userInfo.member.id, 585, 144);
      this.queryCoupon(1, 0, userInfo.member.id);
      this.getMbrBalance();
      this.queryScore(userInfo.member.mobile);
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

  /**
   * 查询用户相关的券
   * 调两个接口，一个内部券，一个外部券
   */
  queryCoupon: function (page, pageSize, memberId) {
    // 查询内部券，将查到的券相加
    couponService.queryCoupon(page, pageSize, memberId).then(res => {
      console.log(res)
      if (res.records && res.records.length > 0) {
        let count = 0;
        res.records.forEach(item => {
          if (item.status === 'OPEN')
            count++
        })
        if (this.data.couponCount) {
          count += this.data.couponCount;
        }
        this.setData({
          couponCount: count
        })
      }
    }).catch(err => {
      wx.showToast({
        title: err.message,
        icon: 'none',
        duration: 2000
      })
    })
    let couponData = {
      memberId: memberId
    }
    // 查询外部券
    couponService.queryExternalCoupons(couponData).then(res => {
      console.log(res)
      if (res && res.length > 0) {
        let count = 0;
        res.forEach(item => {
          if (item.status === 'OPEN')
            count++
        })
        if (this.data.couponCount) {
          count += this.data.couponCount;
        }
        this.setData({
          couponCount: count
        })
      }
    }).catch(err => {
      wx.showToast({
        title: err.message,
        icon: 'none',
        duration: 2000
      })
    })
  },
  /**
   * 查询储值余额
   */
  getMbrBalance: function () {
    memberService.getMbrBalance().then(res => {
      this.setData({
        storedValue: res
      })
    }).catch(err => {
      wx.showToast({
        title: err.message,
        icon: 'none',
        duration: 2000
      })
    })
  },
  /**
   * 查询积分
   */
  queryScore: function (mobile) {
    memberService.getBalance(mobile).then(res => {
      console.log(res)
      this.setData({
        score: res
      })
    }).catch(err => {
      wx.showToast({
        title: err.message,
        icon: 'none',
        duration: 2000
      })
    })
  },

  // 跳转到余额支付
  toBalancePay: function () {
    wx.navigateTo({
      url: '../balance/balancePay/balancePay'
    })
  }
})